package ru.pb.game.network.engine.client.packets.sendable;

import ru.pb.game.network.engine.client.packets.GameServerToClientPacket;
import ru.pb.game.objects.model.CHANNEL;
import ru.pb.game.objects.model.room.Room;

/**
 * Выводит краткое описание комнаты(слева от списка комнат).
 * 
 * @version: 2
 * @author: DarkSkeleton, Felixx
 */
public class PROTOCOL_LOBBY_GET_ROOMINFO_ACK extends GameServerToClientPacket
{
	private int _r_num;
	private Room _room;
	private CHANNEL _ch;

	public PROTOCOL_LOBBY_GET_ROOMINFO_ACK(CHANNEL ch, int room)
	{
		_r_num = room;
		_ch = ch;
	}

	@Override
	public void runImpl()
	{
		_room = _ch.getRoom(_r_num);
	}

	@Override
	public void writeImpl()
	{
		if(_room == null)
		{
			_log.info("BAD ROOM!!!");
			return;
		}

		if(_room != null)
		{
			writeB(new byte[] {0x14, 0x0b}); // опкод
			writeS(_room.getLeader().getName(), 33); // Лидер комнаты.
			writeD(_room.killtime); // Условия боя.
			writeC(_room.limit); // Лимит на вход(есть, нету).
			writeC(_room.seeConf); // Отвечает за наблюдение(ограниченно и тд...).
			writeH(_room.autobalans); // Автобаланс(штат и тд...).
		}
	}
}